FIG. 1 illustrates a conventional hard disk drive 1500. Hard disk drive 1500 includes a hard disk controller 1502 that controls the transfer of data between a storage medium 1506 (e.g., a surface of a magnetic disk) and a host 1503 (e.g., a computer). Hard disk controller 1502 typically includes a host interface 1508 for communicating with host 1503, a storage medium interface 1507 for writing data to and reading data from storage medium 1506, and a memory controller 1501 for controlling access to memory 1509 via a multi-channel bus 1504.
Memory 1509 functions as a cache for information to and from host 1503, and as temporary storage for data being written to or read from storage medium 1506. Hard disk controller 1502 arbitrates access to memory 1509 typically through time division delegation of access to the memory to plural different circuitry, each of which accesses the memory 1509 on behalf of a client. As one example, there is channel zero (CH0) circuitry for performing a CH0 process to access memory 1509 on behalf of storage medium 1506.
FIG. 2 is a time-line illustrating a conventional arbitration scheme performed by hard disk controller 1502. Hard disk controller 1502 uses an arbitration algorithm to prevent different processes from simultaneously accessing memory 1509 through a given channel. Within each arbitration round-trip, each channel (of the multi-channel bus) is assigned a “tenure” (or time period) during which a corresponding process may access memory 1509 through the channel. After the tenure of a given channel expires, the corresponding process does not access memory 1509 until the next arbitration round-trip. FIG. 2 depicts example tenures, 110 to 115, in one arbitration round-trip. Each of tenures 110 to 115 represents a maximum amount of time during which a process may access memory 1509 through a channel. Typically, the CH0 process bursts data—i.e., transfers data to/from memory 1509—corresponding to one sector of storage medium 1506 during a tenure associated with the CH0 process.
In an index-less hard disk drive (e.g., hard disk drive 1500), each data wedge of a storage medium (e.g., storage medium 1506) can contain any number of sectors, and each sector can span multiple data wedges. A Data Wedge Format Table (DWFT) is typically used to determine where each sector is located on a storage medium. The DWFT can be large, and is typically stored in a buffer memory (e.g., memory 1509). Before accessing a sector within a data wedge of the storage medium, a storage medium interface (e.g., storage medium interface 1507) reads a corresponding DWFT entry from the buffer memory to determine the location of sectors within the data wedge.